home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / aix_ftpd.nasl < prev    next >
Text File  |  2005-01-14  |  3KB  |  136 lines

  1. #
  2. # This script was written by Renaud Deraison <deraison@cvs.nessus.org>
  3. #
  4. # See the Nessus Scripts License for details
  5. #
  6.  
  7. if(description)
  8. {
  9.  script_id(10009);
  10.  script_bugtraq_id(679);
  11.  script_version ("$Revision: 1.30 $");
  12.  script_cve_id("CVE-1999-0789");
  13.  name["english"] = "AIX FTPd buffer overflow";
  14.  name["francais"] = "DΘpassement de buffer dans ftpd d'AIX";
  15.  
  16.  script_name(english:name["english"],
  17.           francais:name["francais"]);
  18.          
  19.  desc["english"] = "
  20. It was possible to make the remote FTP server
  21. crash by issuing this command :
  22.  
  23.     CEL aaaa[...]aaaa
  24.  
  25. This problem is known has the 'AIX FTPd' overflow and
  26. may allow the remote user to easily gain access to the 
  27. root (super-user) account on the remote system.
  28.  
  29. Solution : If you are using AIX FTPd, then read
  30. IBM's advisory number ERS-SVA-E01-1999:004.1,
  31. or contact your vendor for a patch.
  32.  
  33. Risk factor : High";
  34.          
  35.          
  36. desc["francais"] = "
  37. Il s'est avΘrΘ possible de faire planter le serveur
  38. FTP distant en lancant la commande :
  39.  
  40. CEL aaa[...]aaa
  41.  
  42. Ce problΦme est connu sous le nom de 'dΘpassement de buffer
  43. de aix ftpd' et permet α un pirate de passer root sur
  44. ce systΦme sans grande difficultΘ.
  45.  
  46. Solution : si vous utilisez le ftpd de AIX, lisez
  47. l'advisory d'IBM numΘro ERS-SVA-E01-1999:004.1
  48. ou contactez votre vendeur et demandez un patch.
  49.  
  50. Facteur de risque : elevΘ";              
  51.  script_description(english:desc["english"],
  52.              francais:desc["francais"]);
  53.             
  54.  
  55.  script_summary(english:"Checks if the remote FTPd can be buffer overflown",
  56.          francais:"DΘtermine si le serveur ftp distant peut etre soumis α un dΘpassement de buffer");
  57.  script_category(ACT_MIXED_ATTACK); # mixed
  58.  script_family(english:"FTP", francais:"FTP");
  59.  
  60.  script_copyright(english:"This script is Copyright (C) 1999 Renaud Deraison",
  61.            francais:"Ce script est Copyright (C) 1999 Renaud Deraison");
  62.           
  63.  script_dependencie("find_service.nes", "ftpserver_detect_type_nd_version.nasl");
  64.  script_require_ports("Services/ftp", 21);
  65.  script_exclude_keys("ftp/msftpd","ftp/vxftpd");
  66.  exit(0);
  67. }
  68.  
  69. #
  70. # The script code starts here : 
  71. #
  72.  
  73. include("ftp_func.inc");
  74.  
  75. port = get_kb_item("Services/ftp");
  76. if(!port)port = 21;
  77. if(!get_port_state(port))exit(0);
  78.  
  79. banner = get_ftp_banner(port: port);
  80. if ( ! banner ) exit(0);
  81.  
  82. if ( ! egrep(pattern:".*FTP server .Version 4\.*", string:banner) ) exit(0);
  83.  
  84. if(safe_checks())
  85. {
  86.  
  87.  if(egrep(pattern:".*FTP server .Version 4\.3.*",
  88.         string:banner)){
  89.      desc = "
  90. It may be possible to make the remote FTP server
  91. crash by issuing this command :
  92.  
  93.     CEL aaaa[...]aaaa
  94.     
  95. This problem is known as the 'aix ftpd' overflow and
  96. may allow the remote user to gain root easily.
  97.  
  98. *** Nessus reports this vulnerability using only
  99. *** information that was gathered. Use caution
  100. *** when testing without safe checks enabled.
  101.  
  102. Solution : if you are using AIX ftpd, then read
  103. IBM's advisory number ERS-SVA-E01-1999:004.1,
  104. or else contact your vendor for a patch.
  105.  
  106. Risk factor : High";
  107.   
  108.        security_hole(port:port, data:desc);
  109.      } 
  110.  exit(0);
  111. }
  112.  
  113. if(get_kb_item("ftp/vxworks"))exit(0); # seperate test for vxworks
  114.  
  115. soc = open_sock_tcp(port);
  116. if(soc)
  117. {
  118.   buf = ftp_recv_line(socket:soc);
  119.   if(!buf){
  120.      close(soc);
  121.     exit(0);
  122.     }
  123.  
  124.   buf = string("CEL a\r\n");
  125.   send(socket:soc, data:buf);
  126.   r = ftp_recv_line(socket:soc);
  127.   if(!r)exit(0);
  128.   buf = string("CEL ", crap(2048), "\r\n");
  129.   send(socket:soc, data:buf);
  130.   b = ftp_recv_line(socket:soc);
  131.   if(!b)security_hole(port);
  132.   ftp_close(socket: soc);
  133. }
  134.  
  135.